# demo03_dict.py
# 定义字典，保存一个人的信息
person = {
    'name': '小明',
    'gender': '男',
    'age': 22,
    'is_married': False,
    'child': None,
    'hobby': ['游戏', '旅游', '运动']
}
# print(person, type(person)) # <class 'dict'>
# 练习：定义字典保存一个商品的信息，包含名称、价格、颜色、尺寸、内存大小、硬盘大小、cpu型号
product = {
    'title': '华为Mate70',
    'price': 6999,
    'color': '黑色',
    'size': '6.39英寸',
    'memory': '16GB',
    'disk': '256GB',
    'cpu': '麒麟9900'
}
# print(product)

# 定义字典，保存一个用户信息
user = {
    'uname': 'tom123',
    'upwd': '123456',
    'email': '123@qq.com',
    'phone': '18812345678'
}
# 2.修改/添加
# user['upwd'] = '666666'
# user['email'] = '123@163.com'
# # 键不存在的时候，就是添加
# user['reg_time'] = '2024-12-20'
# 批量
# user.update({'upwd': '999999', 'email': 'tom@163.com', 'reg_time': '2024-12-25'})
# 3.删除
# del user['phone']
# user.pop('email')
user.clear() # 清空
print(user)


# print(user)
# 1.查询
# print(user['uname'])
# print('uname' in user)
# 如果键不存在会报错
# print(user['reg_time'])
# 如果键不存在返回None
# print(user.get('reg_time'))
# 不存在可以使用默认值
# print(user.get('reg_name', '1970-01-01'))
# print(user.get('uname', 'xxxxxx'))

# 2.获取所有的键
# dict_keys(['uname', 'upwd', 'email', 'phone'])
# print(user.keys())
# for key in user.keys():
#     print(key, user[key])
# 获取所有的值
# dict_values(['tom123', '123456', '123@qq.com', '18812345678'])
# print(user.values())
# for value in user.values():
#     print(value)
# 获取所有的键值对
# dict_items([('uname', 'tom123'), ('upwd', '123456'), ('email', '123@qq.com'), ('phone', '18812345678')])
# print(user.items())
# for item in user.items():
#     print(item[0], item[1])
# 字典直接进行遍历
# for k in user:
#     print(k, user[k])



# 练习：定义字典，保存一个学生多门成绩，遍历字典，计算出总成绩和平均成绩。
# score = {
#     'chinese': 89,
#     'math': 92,
#     'english': 74,
#     'history': 98
# }
# # print(score)
# # print(len(score))  # 长度
# total = 0
# for v in score.values():
#     # print(v)
#     total += v
# print(total, total/len(score))